Telegram Group & Telegram Channel
🐍 Задача с подвохом на Python. Что выведет данный код?
def update_dict(key, value, d={}):
d[key] = value
return d

dict1 = update_dict('a', 1)
dict2 = update_dict('b', 2, {})
dict3 = update_dict('c', 3)

print("dict1 =", dict1)
print("dict2 =", dict2)
print("dict3 =", dict3)

— Варианты ответа:

A.
dict1 = {'a': 1}  
dict2 = {'b': 2}
dict3 = {'c': 3}


B.
dict1 = {'a': 1, 'c': 3}  
dict2 = {'b': 2}
dict3 = {'a': 1, 'c': 3}


C.
dict1 = {'a': 1}  
dict2 = {'b': 2}
dict3 = {'a': 1, 'c': 3}


Какой из этих ответов правильный и почему?🧐

— Подсказка:
аргументы по умолчанию в Python вычисляются только один раз - при определении функции. Словарь, как и список, является изменяемым объектом.

В функции update_dict параметр d={} создается один раз и используется для всех вызовов, где не передается явно другой словарь.


— Правильный ответ: B

Объяснение:
1️⃣ dict1 = update_dict('a', 1) → используется словарь по умолчанию → {'a': 1}
2️⃣ dict2 = update_dict('b', 2, {}) → создан новый словарь → {'b': 2}
2️⃣ dict3 = update_dict('c', 3) → снова используется исходный словарь → {'a': 1, 'c': 3}
4️⃣ dict1 тоже изменится, так как это ссылка на тот же объект → {'a': 1, 'c': 3}

Итоговый вывод:
dict1 = {'a': 1, 'c': 3}
dict2 = {'b': 2}
dict3 = {'a': 1, 'c': 3}


@python_job_interview



tg-me.com/python_job_interview/1104
Create:
Last Update:

🐍 Задача с подвохом на Python. Что выведет данный код?

def update_dict(key, value, d={}):
d[key] = value
return d

dict1 = update_dict('a', 1)
dict2 = update_dict('b', 2, {})
dict3 = update_dict('c', 3)

print("dict1 =", dict1)
print("dict2 =", dict2)
print("dict3 =", dict3)

— Варианты ответа:

A.
dict1 = {'a': 1}  
dict2 = {'b': 2}
dict3 = {'c': 3}


B.
dict1 = {'a': 1, 'c': 3}  
dict2 = {'b': 2}
dict3 = {'a': 1, 'c': 3}


C.
dict1 = {'a': 1}  
dict2 = {'b': 2}
dict3 = {'a': 1, 'c': 3}


Какой из этих ответов правильный и почему?🧐

— Подсказка:
аргументы по умолчанию в Python вычисляются только один раз - при определении функции. Словарь, как и список, является изменяемым объектом.

В функции update_dict параметр d={} создается один раз и используется для всех вызовов, где не передается явно другой словарь.


— Правильный ответ: B

Объяснение:
1️⃣ dict1 = update_dict('a', 1) → используется словарь по умолчанию → {'a': 1}
2️⃣ dict2 = update_dict('b', 2, {}) → создан новый словарь → {'b': 2}
2️⃣ dict3 = update_dict('c', 3) → снова используется исходный словарь → {'a': 1, 'c': 3}
4️⃣ dict1 тоже изменится, так как это ссылка на тот же объект → {'a': 1, 'c': 3}

Итоговый вывод:
dict1 = {'a': 1, 'c': 3}
dict2 = {'b': 2}
dict3 = {'a': 1, 'c': 3}


@python_job_interview

BY Python вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/python_job_interview/1104

View MORE
Open in Telegram


Python вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.

Telegram Gives Up On Crypto Blockchain Project

Durov said on his Telegram channel today that the two and a half year blockchain and crypto project has been put to sleep. Ironically, after leaving Russia because the government wanted his encryption keys to his social media firm, Durov’s cryptocurrency idea lost steam because of a U.S. court. “The technology we created allowed for an open, free, decentralized exchange of value and ideas. TON had the potential to revolutionize how people store and transfer funds and information,” he wrote on his channel. “Unfortunately, a U.S. court stopped TON from happening.”

Python вопросы с собеседований from hk


Telegram Python вопросы с собеседований
FROM USA